The present disclosure relates generally to information handling systems, and more particularly to communication in storage networks.
As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option is an information handling system (IHS). An IHS generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes. Because technology and information handling needs and requirements may vary between different applications, IHSs may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in IHSs allow for IHSs to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, IHSs may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Additionally, some embodiments of information handling systems include non-transient, tangible machine-readable media that include executable code that when run by one or more processors, may cause the one or more processors to perform the steps of methods described herein. Some common forms of machine readable media include, for example, floppy disk, flexible disk, hard disk, magnetic tape, any other magnetic medium, CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, RAM, PROM, EPROM, FLASH-EPROM, any other memory chip or cartridge, and/or any other medium from which a processor or computer is adapted to read.
Computer networks form the interconnection fabric that enables reliable and rapid communications between computer systems and data processors that are in both close proximity to each other and at distant locations. These networks create a vast spider web of intranets and internets for handling all types of communication and information. Making all of this possible is a vast array of network switching products that make forwarding decisions in order to deliver packets of information from a source system or first network node to a destination system or second network node. Due to the size, complexity, and dynamic nature of these networks, sophisticated network switching products are often used to implement the interconnection fabric. This can be further complicated through other networking trends such as parallelization.
Many networks, such as storage networks, utilize parallelization and other techniques to improve the forwarding function between two network nodes. By employing parallelization, redundancy is built into a network so that it is possible that more than one path exists between any two nodes, thus increasing the likelihood that a network path between any two nodes is available. This provides suitably aware network devices with the ability to select between and among the redundant paths to avoid network congestion, balance network loads, or to avoid failures in the network. In the case of storage area networks (SANs), redundancy and parallelism between the storage server and the storage arrays is often used to help ensure that the storage server can respond to storage requests despite congestion and/or failures. This is often implemented by coupling the storage server to multiple network switching devices, which are, in turn, coupled to multiple storage arrays. This allows network packets to be forwarded between the storage server and the storage arrays using one or many possible network paths through the multiple network switching devices. When additional redundancy is added by introducing inter-switch links (ISLs) between the network switching devices, the possibility of less optimal or desired network paths may be introduced between the storage server and the storage arrays.
Accordingly, it would be desirable to provide improved communication in storage networks that avoids less desirable network paths.